package edu.uc.persistence;

import java.util.List;

import edu.uc.dto.User;

/**
 * Default login interface structure
 * 
 * @author Robert
 *
 */
public interface UserDAOInterface {  
	
	/**
	 * Persist the given user.
	 * @param user the user to save
	 * @throws Exception any problem in the underlying persistence mechanism.
	 */
	public void save(User user) throws Exception;
	
	/**
	 * Persist the given user.
	 * @param logs the user in.
	 * @return 
	 * @throws Exception any problem in the underlying persistence mechanism.
	 */
	public User logon(String Email, String Password) throws Exception;

	/**
	 * Fetch the user with the given name.
	 * @param email
	 * @return
	 * @throws Exception
	 */
	public User fetchUser(String email) throws Exception;
	
	/**
	 * Return all users as a Hashtable.
	 * @return a collection of all users.
	 */
	public List<User> fetchAllUsers() throws Exception;
	
}